package com.zhuiyun.project.api.plan.fitnessAction.service;

import com.zhuiyun.project.api.plan.fitnessAction.entity.FitnessAction;
import com.zhuiyun.project.api.plan.fitnessAction.model.FitnessActionModel;
import com.zhuiyun.project.common.errorCode.CommonException;
import com.zhuiyun.project.common.response.CommonResult;
import com.zhuiyun.project.utils.pageUtil.PageRequest;
import com.zhuiyun.project.utils.pageUtil.PageResult;
import org.springframework.web.multipart.MultipartFile;

import java.util.List;

/**
* @Author 杨珅
* @Description todo 目的业务层
* @Date 2023/11/2 9:02
* @Return  * @param null
*/
public interface FitnessActionService {
    /**
     * @Author 杨珅
     * @Description todo 分页查询健身动作
     * @Date 2023/11/13 8:43
     * @Return * @param null
     */
    PageResult selectAll(PageRequest pageRequest, String fitnessActionName, String venueUniqueIdentifier, Integer fitnessPurposeId);
    /**
     * @Author 杨珅
     * @Description todo 根据健身部位名和目的查询动作
     * @Date 2023/11/2 9:28
     * @Return  * @param null
     */
    CommonResult queryAll(String venueUniqueIdentifier,Integer fitnessPurposeId,String fitnessTypeName);
    /**
     * @Author 杨珅
     * @Description todo 根据健身部位id和目的查询动作
     * @Date 2023/11/2 9:28
     * @Return  * @param null
     */
    CommonResult queryByType(String venueUniqueIdentifier,Integer fitnessPurposeId);
    /**
     * @Author 杨珅
     * @Description todo 根据健身部位id和目的查询动作（分页版）
     * @Date 2023/11/2 9:28
     * @Return  * @param null
     */
    PageResult queryByTypes(PageRequest pageRequest,String venueUniqueIdentifier,Integer fitnessPurposeId,Integer fitnessTypeId);
    /**
     * @Author 杨珅
     * @Description todo 根据健身目的查询健身标签
     * @Date 2023/11/13 8:43
     * @Return  * @param null
     */
    CommonResult selectTypeAll(PageRequest pageRequest,Integer id);
    /**
     * @Author 杨珅
     * @Description todo 查询健身目的
     * @Date 2023/11/13 8:43
     * @Return  * @param null
     */
    CommonResult selectPurposeAll(String venueUniqueIdentifier);
    /**
     * @Author 杨珅
     * @Description todo 查询健身器材
     * @Date 2023/11/13 8:43
     * @Return  * @param null
     */
    CommonResult selectEquipmentAll(String venueUniqueIdentifier);
    /**
     * @Author 杨珅
     * @Description todo 新增健身动作
     * @Date 2023/11/13 8:43
     * @Return  * @param null
     */
    CommonResult insertFitnessAction(FitnessActionModel fitnessAction)throws CommonException;
    /**
     * @Author 杨珅
     * @Description todo 根据健身目的查询健身标签
     * @Date 2023/11/13 8:43
     * @Return  * @param null
     */
    CommonResult insertImg( MultipartFile file);
    /**
     * @Author 杨珅
     * @Description todo 修改健身动作
     * @Date 2023/11/13 8:43
     * @Return  * @param null
     */
    CommonResult updateFitnessAction(FitnessActionModel fitnessAction)throws CommonException;
    /**
     * @Author 杨珅
     * @Description todo 逻辑删除健身动作
     * @Date 2023/11/13 8:43
     * @Return  * @param null
     */
    CommonResult deleteFitnessAction(FitnessActionModel fitnessAction);

    /**
     * zuo
     * @return
     */
    CommonResult selectAlll();
}
